Content notification system and method

ABSTRACT

A method of providing a notification to a client device is disclosed. The method includes, for example, obtaining data associated with the client device with respect to content provided by a plurality of content sources; creating a viewing preference profile for the client device based on the obtained data, the user preference profile indicating content preferred by the client device; detecting a triggering event concerning a digital content; and in response to the triggering event, determining whether to trigger a notification to the client device based on the viewing preference profile.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to and claims the benefit of U.S.Provisional Application Ser. No. 62/058,001 filed Sep. 30, 2014,entitled “Notification System and Method”, the entire disclosure ofwhich is herein incorporated by reference in their entirety for allpurposes.

FIELD OF THE DISCLOSURE

This relates generally to delivering digital content over a network, andmore particularly, to systems and methods of sending notifications to auser's device about content that may be of interest to the user.

BACKGROUND

Most viewers of television (TV) shows, movies, or other types of contenttend to develop viewing preferences and habits over a period of timebased on their personal interests. For example, a baseball fan from SanFrancisco would be interested in watching a San Francisco Giants game. Afan of the TV show, Game of Thrones would be interested in catching anew episode of the show. However, the vast amount of content availableon TV and the Internet makes it difficult for a viewer to know aboutevery program that may interest him Finding the right program to watchoften requires the viewer to manually search through numerous channelsor a large content database, which can be both inefficient andineffective.

SUMMARY

This generally relates to providing personalized notifications to a userabout content that may interest him. The notifications can be triggeredbased on knowledge about the user and the available content in responseto one or more triggering events or conditions. For example, anotification can be triggered by new content that matches the user'sviewing preferences and/or habits. A notification can also be triggeredwhen a previously-selected program is about to start or expire. Anotification can also be triggered when a live program reaches a certainlevel of interest. Other non-content specific events such as anemergency broadcast, traffic news, and weather alert can also triggernotifications to the user. The notification can be displayed on a userdevice (e.g., a digital media player) and, optionally, serve as aninteractive user menu for the user to, for example access therecommended content. Essentially, the systems and methods of thedisclosure can provide an intelligent way of automatically notifying auser about content or programming that may be of interest to him in atimely fashion.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary network of devices, according to anembodiment of the disclosure.

FIG. 2 is a flow chart illustrating the exemplary steps in a method oftriggering a notification for a particular user/client device, accordingto an embodiment of the disclosure.

FIG. 3 is a block diagram illustrating the exemplary modules of aserver, according to an embodiment of the disclosure.

FIG. 4 illustrates exemplary components of a computing system such asthe central server described in the embodiments of the disclosure.

DETAILED DESCRIPTION

In the following description of example embodiments, reference is madeto the accompanying drawings in which it is shown by way of illustrationspecific embodiments that can be practiced. It is to be understood thatother embodiments can be used and structural changes can be made withoutdeparting from the scope of the various embodiments.

This disclosure generally relates to providing personalizednotifications to a user about content that may interest him. Thenotifications can be triggered based on knowledge about the user and theavailable content in response to one or more triggering events orconditions. For example, a notification can be triggered by new contentthat matches the user's viewing preferences and/or habits. Anotification can also be triggered when a previously-selected program isabout to start or expire. A notification can also be triggered when alive program reaches a certain level of interest. Other non-contentspecific events such as an emergency broadcast, traffic news, andweather alert can also trigger notifications to the user. Thenotification can be displayed on a user device (e.g., a digital mediaplayer, a personal computer, a laptop, a tablet computer, or asmartphone) and, optionally, serve as an interactive user menu for theuser to, for example access the recommended content. Essentially, thesystems and methods of the disclosure can provide an intelligent way ofautomatically notifying a user about content or programming that may beof interest to him in a timely fashion.

As referred to in this document, “content” can refer to any type ofelectronic content including digital media content in the form of video,audio, image, text, and/or multimedia content. The terms “content,”“program,” “programming,” and “show,” are used interchangeably in thisdocument. Although the embodiments are described with reference tomultimedia content such as TV shows, movies, and sports programs, itshould be understood that the disclosure is not limited in any way toonly these types of content.

A brief overview of an exemplary content delivering/notificationtriggering system is first discussed. FIG. 1 illustrates an exemplarynetwork of multiple devices including a client device 106, a centralserver 100, and multiple content sources 102, 104, according to anembodiment of the disclosure. The client device 106 can request andreceive content from content sources 102, 104, either directly orthrough the central server 100. In addition to facilitating contentdelivering, the central server 100 can also collect and storeinformation about the individual users and/or the content offered by thecontent sources. The central server 100 can also be programmed tomonitor for certain events and/or conditions and, when one of theseevents or conditions occurs, trigger a notification to be sent to theclient device 106.

The client device 106 can be any network-enabled electronic devicecapable of communicating with other devices on the network. For example,the client device 106 can be a digital media player (e.g., Apple TV,Roku), personal computer (PC), Mac, tablet PC (e.g., iPad), smartphone(e.g., iPhone, Android phone), electronic reader, video game console(e.g., PlayStation), or smart TV. The client device 106 can allow a userto view digital content provided by the various content sources 102, 104on the network.

In one embodiment, the client device 106 can be a digital media playerthat supports various video, audio, and picture formats and allows theuser to download and/or stream movies, TV shows, live sports games, andother digital media content from content sources 102, 104. The digitalmedia player can have one or more software applications (apps) installedfor obtaining content from the various sources. For example, the digitalmedia player can include an app for accessing content provided by anon-demand streaming media content provider (e.g., Netflix). Additionallyor alternatively, the digital media player can have a separate app foraccessing a video sharing website (e.g., YouTube). Additionally oralternatively, an app can be used for accessing a particular cable TVchannel (e.g., HBO or ESPN). Additionally or alternatively, an app canbe used for accessing content offered by an online media library/store(e.g., iTunes). In some embodiments, multiple content sources can beaccessed using a single app or interface on the digital media player.The single app or interface can provide a universal interface thatallows the user to browse and/or search for content from all contentsources.

In addition to the apps for obtaining digital media content, the clientdevice 106 can include other applications (e.g., a web browser) designedto provide additional functions to the users.

In one embodiment, the client device 106 can require a user to registerand log in before using the device 106. This can allow the client device106 (and/or other devices on the network such as the central server 100)to track user-specific data pertaining to each individual user insteadof or in addition to data pertaining to a client device. Additionally oralternatively, the user-specific and/or client device-specific data canbe tracked on an app-by-app basis. For example, an individual user's (orthe device's) viewing histories associated with Netflix and HBO can betracked separately.

Although only one client device 106 is shown in FIG. 1, it should beunderstood that any number of client devices (of the same type ordifferent types) can be connected to the system and each deviceconfigured to perform the same operations described in the variousembodiments of the disclosure. The client device 106 can include (or beconnected to) certain I/O devices such as a display for displayingnotifications to the user.

Referring back to FIG. 1, each content source 102, 104 can be anycomputing device capable of providing digital content for downloadand/or streaming to one or more client devices connected to a network.For example, content source 102 can be an on-demand internet streamingmedia server (e.g., a Netflix server). Content source 104 can be avideo-sharing service provider (e.g., YouTube). Other content sourcesincluding, but are not limited to, cable TV channel providers (e.g.,HBO, ESPN), and online digital media stores (e.g., iTunes) can also beconnected to the network. Although only two content sources 102, 104 areshown in FIG. 1, it should be understood that any number of contentsources can be connected to the network.

The content provided by the content sources can include digital mediacontent such as movies, TV shows, live sports games, concerts, music,images, etc. Some content sources (e.g., an on-demand internet streamingmedia provider) can require a membership (paid or unpaid) for a user toaccess its content. Others (e.g., a video-sharing website) can be opento the public.

The central server 100 of FIG. 1 can be connected to the content sources102, 104 and the client device 106. The central server 100 canfacilitate the delivering of content from the content sources 102, 104to the client device 106. In addition, the central server 100 can alsotrigger notifications for the client device 106 regarding a program,show, or event that may interest a user.

With respect to facilitating content delivery, in one embodiment, thecentral server 100 can receive requests for content from client device106. The central server 100 can determine which of the content sources102, 104 can provide the requested content and forward the request tothat content source. The actual transmission of the content may or maynot go through the central server 100. When the requested content isavailable from more than one content source, the central server cantransmit a list of the content sources to the client device 106 for theuser to choose the content source from which to download or stream thecontent. Alternatively, the central server can automatically select oneof the content sources without user intervention. This automaticselection can be based on, for example, whether the user is entitled toaccess the content from a particular content source, the cost associatedwith obtaining the content from each content source, and/or thedownload/streaming speed associated with each content source. After acontent source is selected, the content can be delivered from thecontent source 102, 104 either directly to the client device 106 orindirectly through the central server 100.

Additionally, the central server 100 can track and store informationthat can be used for determining what content would be of interest toeach user. For example, the central server can track the viewing historyassociated with a particular user (based on user login information) or aclient device. The viewing history can include content streamed and/ordownloaded from one or more content sources. In one embodiment, theviewing history can be stored in a database 108 on the central server100. The database 108 can also store other information relating to theuser's viewing habits including, but not limited to, the frequency atwhich the user watches a particular show, the average duration of theuser's viewing sessions, the movie genre most watched by the user, andthe content source most frequently accessed by the user. The database108 can be designed to store this information for each client deviceand/or each user.

Additionally or alternatively, the central server 100 can also track inthe database 108 one or more programs that are on the user's watchlist(s). The one or more programs can include, for example, apre-ordered pay-per-view event, on-demand content that is available fora limited period of time, a complete season or series of a TV show, orany other digital media content offered by the content sources 102, 104.In one embodiment, the central server 100 can access the user's watchlists at the different content sources 102, 104 (e.g., the user'sNetflix queue and favorite channels on YouTube). Optionally, the centralserver can centrally maintain a list combining the entries from themultiple watch lists.

Additionally or alternatively, the database 108 on the central server100 can also store information relating to content offered by thecontent sources 102, 104. For example, the database 108 can storeinformation such as the genre, director, leading actor/actress, andreleasing date associated with a movie. In one embodiment, thisinformation can be extracted from the metadata associated with thecontent.

Additionally or alternatively, the central server 100 can monitor theother devices on the network for events that may trigger a notificationto be sent to the client device 106. For example, the central server canmonitor what program is being watched on the client device 106 and usethis information to determine if there are other similar or relatedprograms to notify the user about.

Additionally or alternatively, the central server 100 can monitor forupcoming programs that may fit a user's viewing preferences. In oneembodiment, the central server can monitor the electronic programmingguides (EPGs) of the content sources 102, 104 to look for content thatfit the user's preferences. The scheduled starting times provided by theEPGs can be used for determining when a notification is to be sent tothe client device 106.

Additionally or alternatively, the central server 100 can also monitorfor changes in content availability. For example, a newly-added TV showcan trigger a notification to the user if the TV show matches the user'sviewing preferences. An approaching expiration date of an existingprogram can also trigger a notification to remind the user to watch theprogram before it becomes unavailable.

Additionally or alternatively, the central server 100 can monitor theinterest level of a live broadcast (e.g., a live baseball game). Whenthe interest level of the event reaches a certain level (e.g., athreshold), a notification can be sent to the user to inform him aboutthe event.

Additionally or alternatively, the central server 100 can receiveinformation from sources other than the content sources 102, 104. Forexample, the central server 100 can receive, for example, severe weatheralerts, traffic information, emergency broadcast, crime alerts, Amberalerts from various sources and determine, in response, whether theinformation is relevant to the user and whether a notification should besent to the user's client device 106.

In some embodiments, the central server 100 can have its own contentrepository and also serve as a content source to the client devices.Client device 106 can request content from the central server'srepository in a similar fashion as it would from content sources 102,104.

It should be understood that, in some embodiments, some or all of theabove-discussed functions of the central server 100 can be performed atthe client device 106. At least some of the user and content data canalso be stored on the client device. In some embodiments, the centralserver can be eliminated and notifications can be triggered locally ateach client device.

FIG. 2 is a flow chart illustrating the exemplary steps in a method oftriggering a notification to be displayed on a client device, accordingto an embodiment of the disclosure.

The illustrated method can involve tracking user data such as viewingpreferences/habits associated with a particular user and/or clientdevice (step 201). The viewing preferences/habits can be ascertainedfrom, for example, the user's viewing history and/or watch list(s).Additionally or alternatively, the central server can track the user'sonline behavior including, but are not limited to, the user'sweb-browsing habits and social media activities (e.g., the user'sTwitter “follows” and Facebook “likes”). Additionally or alternatively,the central server can also track other data relating to the userincluding, for example, the location of the user (or the client device).Some or all of this data can be used for determining what content wouldinterest the user.

Next, the central server can monitor for a triggering event/conditionthat can trigger a notification to be sent to the client device (step202). In response to detecting a triggering event/condition, the centralserver can determine whether a notification should be sent to a user toinform him about content or programming that may interest him (step203).

One exemplary triggering event/condition can be, for example, when newcontent that matches a user's viewing preferences/habits becomesavailable. First, the central server can determine, based on, the userdata collected in step 201, whether the newly-added content matches auser's viewing preferences. For example, if the user's viewing historyreveals that he is a baseball fan and, in particular, a San FranciscoGiants fan, it can be determined that he would be interested in watchingthe next Giants game or games that have some importance to the Giants(e.g., games with division rivals, playoff games, games critical to theGiants' standing in the division, games that have playoff implications).As another example, if the user has been watching the past seasons ofthe TV show, Game of Thrones, it can be determined that he would beinterested in watching a new season of the show when it becomesavailable.

In one embodiment, the central server can monitor the various contentsources for upcoming Giants games/Game of Thrones episodes. This can bedone by, for example, monitoring the electronic program guide (EPG)associated with each content source or monitoring a program or contentcatalog associated with the content source. A notification can be sentto the client device when an upcoming game/episode appears in one of theEPGs.

In addition to determining whether newly-added content is of interest tothe user, the central server can also determine whether the user isentitled to access the content. For example, a Netflix subscriber canaccess all content offered by Netflix, but the same user may not beentitled to watch any HBO content if he does not have a subscription toHBO. Accordingly, when a TV show (e.g., Game of Thrones) is shown onHBO, the user may not receive a notification even if the show matcheshis viewing habits. But when the same show is added to Netflix, anotification can be triggered to inform the user that Game of Thrones isavailable for viewing on Netflix. Some content can be made available toall users (e.g., a YouTube clip) and, thus, rendering the step ofverifying user entitlement optional.

Additionally or alternatively, a triggering event/condition can be whenpreviously-purchased content or content in the user's watch list isabout to expire. For example, the user may have a free trialsubscription to HBO for a predetermined period of time. The centralserver can track how much time is left in the trial period. A triggeringevent/condition can be, for example, when the server is notified thatthe trial period is about to run out. Similarly, whenpreviously-purchased content or content in the user's watch list isabout to expire, a notification can be triggered as a reminder for theuser to watch the content.

Another triggering event/condition can be, for example, when theinterest level of a program reaches a threshold. In one embodiment, thecentral server can monitor the interest level of a program beingbroadcast live by a content source. The interest level of the programcan be objectively determined based on, for example, one or more eventstaking place during the program. For example, if the program is abaseball game, the interest level of the game can change based on, forexample, the score of the game, individual performance of a player,number of highlights in the game, etc. The interest level can rise when,for example, the bases are loaded at the bottom of the ninth inning or apitcher is about to complete a no-hitter. In contrast, if the score islopsided, the interest level of the game can be lowered. When theinterest level reaches a certain threshold, the server can trigger anotification to recommend the game to users who are sports fans. Asimilar example can be a surprise appearance of a guest on a TV show.This can trigger a notification to users who are fans of the guest.

Additionally or alternatively, a notification can be triggered inresponse to certain alerts (e.g., a severe weather alert, crime alert).These alerts can be received from sources other than the content sourceson the network. In addition, the notification can be triggered inresponse to content that is trending on social media or large number ofviewers. For example, if it is determined that many users are watching aparticular program (e.g., Oscar Awards) or that the particular programis trending on social media, a notification that recommends the programto the users that have demonstrated an interest in the program (e.g.,people that tend to watch movies). The central server can determine,based on a user's location, whether he should receive a notificationregarding the alert.

After a triggering event/condition is detected and the server determinesthat a notification should be generated in response to theevent/condition, the server can then push the notification to one ormore client devices (step 204). In one embodiment, the central servercan optionally determine an optimal time for sending the notification.For example, notification for a live event can be sent as soon as theinterest level of the event reaches a threshold. Notification for ascheduled program can be sent, for example, shortly before its scheduledstarting time.

After the notification is received by the client device (e.g., a digitalmedia player), the notification can be displayed on a display or outputby any other suitable means. In one embodiment, the notification can bedisplayed in the form of an overlay on top of the program being viewedon the client device. In other embodiments, the notification can bedisplayed in other forms and at any location on the display screen ofthe client device. In some embodiments, the notification can be outputthrough a speaker/headphone in addition to or as an alternative of beingdisplayed on the screen. In some embodiments, the notification can besent to one or more different types of client devices including, but notlimited to, the user's digital media player, mobile phone, laptop,tablet PC, and wearable device. The notification can be in differentforms, such as text message, multimedia message, audio message, banneralert, etc., that are suitable for output on each receiving clientdevice. The user can register the client devices on which notificationsare to be received. Alternatively, the one or more devices can beassociated with a common user account (e.g., phone number, emailaddress, Apple ID) so that the notification can be sent to the commonuser account and output on the client devices.

Optionally, the notification can include an interactive component whichcan offer one or more menu items for user selection. When the user seesthe notification on the screen, he can select one of the menu items to,for example, switch to the channel on which the recommended content isbeing shown. The user can also have the option of starting recording (orscheduling a recording of) the recommended program in a storage mediumfor later viewing. Or the user can simply dismiss the notification.

Although steps 201-203 of FIG. 2 can be performed by a server (e.g.,central server 100 of FIG. 1), as described above, it should beunderstood that, in other embodiments, one or more of these steps can beperformed by a client device. In some embodiments, all three steps ofFIG. 2 can be performed at a client device.

FIG. 3 is a block diagram illustrating the exemplary module of a server300 (e.g., the central server 100 of FIG. 1). The server 300 caninclude, for example, an information gathering module 302, anotification triggering module 304, and a notification transmittingmodule 306. The information gathering module 302 can be designed togather information relating to the individual users, client devices,and/or content. The notification triggering module 304 can detect atriggering event/condition that can trigger a notification to be sent toa user/client device. The notification transmitting module 306 cantransmit the notification to the client device.

In the server of FIG. 3, the information gathering module 302 caninclude, for example, a user data obtaining module 308 and a contentdata obtaining module 314. The user data obtaining module 308 cancollect information including, but not limited to, for example, theviewing history, watch list(s), entitlements, and location informationassociated with one or more users and/or client devices. The contentdata obtaining module 314 can obtain content data relating to theprograms and shows made available by the content sources. The contentdata can include, for example, a list of content offered by each contentsource and information such as the title, genre, actors, director, andreleasing date specific to each piece of content on the list.

The notification triggering module 304 can include programming logic fordetecting a triggering event/condition and determining whether togenerate a notification in response to the detected triggeringevent/condition. The notification triggering module 304 can include oneor more modules for detecting various types of triggeringevents/conditions. In the embodiment shown in FIG. 3, the notificationtriggering module 304 can include, for example, a user-content matchingmodule 310, an interest level determining module 312, a contentavailability determining module 316, a content starting time determiningmodule 318, and an alert monitoring module 320. The user-contentmatching module 310 can match content to a user based on the user'sviewing preferences and habits. The interest level determining module312 can determine the interest level of a live program. The contentavailability determining module 316 can determine the availability of apiece of content at the various content sources and/or detect anychanges in content availability (e.g., new content being added andexisting content being removed) that may trigger a notification to oneor more users. The content starting time determining module 318 candetermine the scheduled starting time of a show/program which can beused for determining the best time for sending out a notification. Thealert monitoring module 320 can receive alerts and other informationfrom various sources.

In response to detecting a triggering event, the notification triggeringmodule 304 can generate a notification for notifying one or more usersabout content or programming that may interest them. The notificationtransmitting module 306 can then transmit the notification to the users'client devices.

It should be understood that one or more of the modules shown in FIG. 3can be optional and additional modules can be included in the server300.

In some embodiments, one or more of the modules of server 300 can bestored and/or transported within any non-transitory computer-readablestorage medium for use by or in connection with an instruction executionsystem, apparatus, or device, such as a computer-based system,processor-containing system, or other system that can fetch theinstructions from the instruction execution system, apparatus, or deviceand execute the instructions. In the context of this document, a“non-transitory computer-readable storage medium” can be any medium thatcan contain or store the program for use by or in connection with theinstruction execution system, apparatus, or device. The non-transitorycomputer readable storage medium can include, but is not limited to, anelectronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system, apparatus or device, a portable computer diskette(magnetic), a random access memory (RAM) (magnetic), a read-only memory(ROM) (magnetic), an erasable programmable read-only memory (EPROM)(magnetic), a portable optical disc such a CD, CD-R, CD-RW, DVD, DVD-R,or DVD-RW, or flash memory such as compact flash cards, secured digitalcards, USB memory devices, memory sticks, and the like.

The non-transitory computer readable storage medium can be part of acomputing system serving as the server or the client device. FIG. 4illustrates exemplary common components of one such computing system. Asillustrated, the system 400 can include a central processing unit (CPU)402, I/O components 404 including, but not limited to one or more ofdisplay, keypad, touch screen, speaker, and microphone, storage medium406 such as the ones listed in the last paragraph, and network interface408, all of which can be connected to each other via a system bus 410.The storage medium 406 can include the modules of FIG. 3.

As described above, one aspect of the present technology is thegathering and use of data available from various sources to improve thedelivery to users of invitational content or any other content that maybe of interest to them. The present disclosure contemplates that in someinstances, this gathered data may include personal information data thatuniquely identifies or can be used to contact or locate a specificperson. Such personal information data can include demographic data,location-based data, telephone numbers, email addresses, twitter ID's,home addresses, or any other identifying information.

The present disclosure recognizes that the use of such personalinformation data, in the present technology, can be used to the benefitof users. For example, the personal information data can be used todeliver targeted content that is of greater interest to the user.Accordingly, use of such personal information data enables calculatedcontrol of the delivered content. Further, other uses for personalinformation data that benefit the user are also contemplated by thepresent disclosure.

The present disclosure further contemplates that the entitiesresponsible for the collection, analysis, disclosure, transfer, storage,or other use of such personal information data will comply withwell-established privacy policies and/or privacy practices. Inparticular, such entities should implement and consistently use privacypolicies and practices that are generally recognized as meeting orexceeding industry or governmental requirements for maintaining personalinformation data private and secure. For example, personal informationfrom users should be collected for legitimate and reasonable uses of theentity and not shared or sold outside of those legitimate uses. Further,such collection should occur only after receiving the informed consentof the users. Additionally, such entities would take any needed stepsfor safeguarding and securing access to such personal information dataand ensuring that others with access to the personal information dataadhere to their privacy policies and procedures. Further, such entitiescan subject themselves to evaluation by third parties to certify theiradherence to widely accepted privacy policies and practices.

Despite the foregoing, the present disclosure also contemplatesembodiments in which users selectively block the use of, or access to,personal information data. That is, the present disclosure contemplatesthat hardware and/or software elements can be provided to prevent orblock access to such personal information data. For example, in the caseof advertisement delivery services, the present technology can beconfigured to allow users to select to “opt in” or “opt out” ofparticipation in the collection of personal information data duringregistration for services. In another example, users can select not toprovide location information for targeted content delivery services. Inyet another example, users can select to not provide precise locationinformation, but permit the transfer of location zone information.

Therefore, although the present disclosure broadly covers use ofpersonal information data to implement one or more various disclosedembodiments, the present disclosure also contemplates that the variousembodiments can also be implemented without the need for accessing suchpersonal information data. That is, the various embodiments of thepresent technology are not rendered inoperable due to the lack of all ora portion of such personal information data. For example, content can beselected and delivered to users by inferring preferences based onnon-personal information data or a bare minimum amount of personalinformation, such as the content being requested by the deviceassociated with a user, other non-personal information available to thecontent delivery services, or publically available information.

Although embodiments have been fully described with reference to theaccompanying drawings, it is to be noted that various changes andmodifications will become apparent to those skilled in the art. Suchchanges and modifications are to be understood as being included withinthe scope of the various embodiments as defined by the appended claims.

What is claimed is:
 1. A method comprising: obtaining data associatedwith a client device with respect to streaming media content accessiblevia a plurality of content applications installed on the client device,the plurality of content applications including a first contentapplication for obtaining streaming media content on the client devicefrom a first content source, and a second content application, differentfrom the first content application, for obtaining streaming mediacontent on the client device from a second content source, differentfrom the first content source, wherein obtaining the data includesobtaining data from the first content application and obtaining datafrom the second content application; creating a viewing preferenceprofile for the client device based on the obtained data, the viewingpreference profile indicating content preferred by the client device,wherein creating the viewing preference profile comprises, on the clientdevice, combining the data obtained from the first content applicationand the data obtained from the second content application; monitoringthe streaming media content accessible via the first and second contentapplications of the plurality of content applications installed on theclient device; detecting a triggering event associated with at least oneof an interest level associated with the streaming media content beingabove a threshold, a change in content availability with respect to thestreaming media content, and an alert from a network; in response to thetriggering event, determining whether to trigger a notification at theclient device based on the viewing preference profile; while displayingthe notification on the client device, receiving a request to view thestreaming media content; and in response to receiving the request toview the streaming media content, automatically selecting a givencontent application of the plurality of applications to provide thestreaming media content at the client device, wherein the streamingmedia content is available on multiple content applications of theplurality of content applications.
 2. The method of claim 1, wherein thedata comprises a viewing history associated with the client device. 3.The method of claim 2, wherein the viewing history comprises at leastone of a frequency at which one type of content is streamed to theclient device via the plurality of content applications, an averageduration of a viewing session of the one type of content on the clientdevice, a genre of content most watched on the client device via theplurality of content applications, and one of the content applicationsmost frequently accessed by the client device.
 4. The method of claim 1,wherein the data comprises a watch list associated with the clientdevice.
 5. The method of claim 1, wherein detecting a change in contentavailability comprises detecting new content being made available or anexpiration of existing content.
 6. The method of claim 1, whereinmonitoring the streaming media content accessible via the plurality ofcontent applications comprises monitoring one or more electronicprogramming guides (EPGs) of the plurality of content applications.
 7. Asystem comprising: one or more processors; and memory storinginstructions, which when executed by the one or more processors, causethe one or more processors to perform a method comprising: obtainingdata associated with a user with respect to streaming media contentaccessible via a plurality of content applications installed on a clientdevice, the plurality of content applications including a first contentapplication for obtaining streaming media content on the client devicefrom a first content source, and a second content application, differentfrom the first content application, for obtaining streaming mediacontent on the client device from a second content source, differentfrom the first content source, wherein obtaining the data includesobtaining data from the first content application and obtaining datafrom the second content application; creating a viewing preferenceprofile for the client device based on the obtained data, the viewingpreference profile indicating content preferred by the client device,wherein creating the viewing preference profile comprises, on the clientdevice, combining the data obtained from the first content applicationand the data obtained from the second content application; monitoringthe streaming media content accessible via the first and second contentapplications of the plurality of content applications installed on theclient device; detecting a triggering event associated with at least oneof an interest level associated with the streaming media content beingabove a threshold, a change in content availability with respect to thestreaming media content, and an alert from a network; in response to thetriggering event, determining whether to trigger a notification at theclient device based on the viewing preference profile; providing thenotification at the client device; after providing the notification atthe client device and while displaying the notification on the clientdevice, receiving a request to view the streaming media content; and inresponse to receiving the request to view the streaming media content,automatically selecting a given content application of the plurality ofapplications to provide the streaming media content at the clientdevice, wherein the streaming media content is available on multiplecontent applications of the plurality of content applications.
 8. Thesystem of claim 7, wherein the memory includes further instructions forperforming: matching content to the user based on the viewing preferenceprofile; determining an interest level of a live program; determining achange in content availability via the first and second contentapplications of the plurality of content applications on the clientdevice; determining a starting time associated with a program; andreceiving alerts.
 9. The system of claim 8, wherein the memory includesfurther instructions for performing triggering a notification when theinterest level of the live program is determined to be above a thresholdand the live program matches the viewing preference profile.
 10. Thesystem of claim 8, wherein the memory includes further instructions forperforming triggering a notification in accordance with a determinationthat a new program matching the viewing preference profile has becomeavailable via at least one of the plurality of content applications onthe client device.
 11. The system of claim 8, wherein the memoryincludes further instructions for performing triggering a notificationin accordance with a determination that a program from a watch listassociated with the user is about to expire.
 12. The system of claim 8,wherein the memory includes further instructions for performingtriggering a notification in accordance with a determination that ascheduled starting time of a program is approaching.
 13. The system ofclaim 8, wherein the memory includes further instructions for performingtriggering a notification in response to receiving an alert concerningthe user.
 14. A method comprising: monitoring an interest level of aprogram accessible from at least one of a plurality of contentapplications installed on a client device, the plurality of contentapplications including a first content application for obtainingstreaming media content on the client device from a first contentsource, and a second content application, different from the firstcontent application, for obtaining streaming media content on the clientdevice from a second content source, different from the first contentsource; determining if the program accessible via the contentapplications on the client device matches a viewing preference profileof a user, wherein the viewing preference profile is created bycombining, on the client device, data obtained from the first contentapplication and data obtained from the second content application;providing a notification to the user if the program matches the viewingpreference profile of the user and if the interest level of the programis above a predetermined threshold; after providing the notification tothe user and while displaying the notification on the client device,receiving a request to view the streaming media content; and in responseto receiving the request to view the streaming media content,automatically selecting a given content application of the plurality ofapplications to provide the streaming media content at the clientdevice, wherein the streaming media content is available on multiplecontent applications of the plurality of content applications.
 15. Themethod of claim 14, wherein monitoring the interest level of the programcomprises detecting an event occurring during the program.
 16. A systemcomprising: one or more processors; and memory storing instructions,which when executed by the one or more processors, cause the one or moreprocessors to perform a method comprising: monitoring an interest levelof a program accessible from at least one of a plurality of contentapplications installed on a client device, the plurality of contentapplications including a first content application for obtainingstreaming media content on the client device from a first contentsource, and a second content application, different from the firstcontent application, for obtaining streaming media content on the clientdevice from a second content source, different from the first contentsource; determining if the program accessible via the contentapplications on the client device matches a viewing preference profileof a user, wherein the viewing preference profile is created bycombining, on the client device, data obtained from the first contentapplication and data obtained from the second content application;providing a notification to the user if the program matches the viewingpreference profile of the user and if the interest level of the programis above a predetermined threshold; after providing the notification tothe user and while displaying the notification on the client device,receiving a request to view the streaming media content; and in responseto receiving the request to view the streaming media content,automatically selecting a given content application of the plurality ofapplications to provide the streaming media content at the clientdevice, wherein the streaming media content is available on multiplecontent applications of the plurality of content applications.
 17. Themethod of claim 1, further comprising: in accordance with adetermination that the streaming media content is live content,providing the notification at the client device at a current time; andin accordance with a determination that the streaming media content isscheduled at a future time, later than the current time, providing thenotification at the client device at the future time.
 18. The method ofclaim 1, wherein the plurality of content applications include one ormore of a content application for accessing content from an on-demandstreaming media content provider, a content application for accessingstreaming media content from a content sharing website, a contentapplication for accessing streaming media content from a particulartelevision channel, and a content application for accessing streamingmedia content from an online content store.
 19. The method of claim 1,wherein determining whether to trigger the notification at the clientdevice comprises: in accordance with a determination that the clientdevice is entitled to access the streaming media content, triggering thenotification at the client device; and in accordance with adetermination that the client device is not entitled to access thestreaming media content, forgoing triggering the notification at theclient device.
 20. The method of claim 1, wherein the first contentsource is a first content provider and the second content source is asecond content provider, different than the first content provider. 21.The system of claim 7, wherein the first content source is a firstcontent provider and the second content source is a second contentprovider, different than the first content provider.
 22. The method ofclaim 14, wherein the first content source is a first content providerand the second content source is a second content provider, differentthan the first content provider.
 23. The system of claim 16, wherein thefirst content source is a first content provider and the second contentsource is a second content provider, different than the first contentprovider.